package interfaz;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.InputStream;
import java.io.StringBufferInputStream;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

@SuppressWarnings("deprecation")
public class Interfaz extends JFrame{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private JTextArea textoEntrada;
	private JTextArea textoSalida;
	private JButton botonEjecuta;
	private JMenuBar menuBar;
	
	
	public Interfaz() {
		super();
		setVisible(true);
//		setSize(600,600);
		setLayout(new FlowLayout());
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		JScrollPane panelEntrada = new JScrollPane();
		panelEntrada.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		panelEntrada.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		JScrollPane panelSalida = new JScrollPane();
		panelSalida.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		panelSalida.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		botonEjecuta = new JButton("Ejecutar");
		menuBar = new JMenuBar();
		JMenu menu = new JMenu("Archivo");
		menuBar.add(menu);
		JMenuItem menuItem = new JMenuItem("Cargar");
		menu.add(menuItem);
		menuItem.addActionListener(new ListenerCargar());
		
		textoEntrada = new JTextArea();
		textoSalida = new JTextArea();
		
		panelEntrada.setViewportView(textoEntrada);
		panelEntrada.setPreferredSize(new Dimension(450,600));
		panelSalida.setViewportView(textoSalida);
		panelSalida.setPreferredSize(new Dimension(450,600));
		
		setJMenuBar(menuBar);
		add(panelEntrada);
		add(botonEjecuta);
		add(panelSalida);
		
		pack();
	}
	
	public InputStream getEntrada() {
		return new StringBufferInputStream(textoEntrada.getText());
	}
	
	private class ListenerCargar implements ActionListener {

		@Override
		public void actionPerformed(ActionEvent arg0) {
			JFileChooser selector = new JFileChooser();// se crea el selector de ficheros
			selector.setCurrentDirectory(new File(System.getProperty("user.dir")));
			selector.setFileSelectionMode(JFileChooser.FILES_ONLY);// solo posibilidad de seleccionar ficheros
			int opcion = selector.showOpenDialog(null);// se muestra; se comprueba si el usuario acepta o cancela

			if (opcion == JFileChooser.APPROVE_OPTION) {
				File archivo = selector.getSelectedFile();//obtenemos el fichero o directorio seleccionado
				try {
					
				} catch (Exception e) {
					JOptionPane.showMessageDialog((Component) arg0.getSource(),"Error al cargar el fichero. ");
				}
			}
		}
		
	}
//	public static void main(String[] args) {
//		Interfaz i = new Interfaz();
//		
//	}

}
